/*
 * Copyright (c) 2025 Industrial Software Feature Database
 */
package com.comac.ins.isfd.service;

import java.util.List;

import org.springframework.core.io.Resource;
import org.springframework.web.multipart.MultipartFile;

import com.anwen.mongo.service.IService;
import com.comac.ins.isfd.domain.IsfdDatabaseModelingTemplate;
import com.comac.ins.isfd.domain.bo.IsfdDatabaseModelingTemplateBo;
import com.comac.ins.isfd.domain.bo.query.IsfdDatabaseModelingTemplateQueryBo;
import com.comac.ins.isfd.domain.vo.IsfdDatabaseModelingTemplateVo;

/**
 * 数据库模型模版管理Service接口
 *
 * @author wujialin
 * @date 2024-12-05
 */
public interface IIsfdDatabaseModelingTemplateService extends IService<IsfdDatabaseModelingTemplate> {

    /**
     * 查询符合条件的数据库模型模版管理
     *
     * @param bo 查询条件
     * @return 数据库建模配置列表
     */
    List<IsfdDatabaseModelingTemplateVo> queryList(IsfdDatabaseModelingTemplateQueryBo bo);

    /**
     * 查询数据库模型模版管理
     *
     * @param id 主键
     * @return 数据源配置
     */
    IsfdDatabaseModelingTemplateVo queryById(Long id);

    /**
     * 保存数据库模型模版管理
     *
     * @param bo 模型模版
     * @return 是否保存成功
     */
    Boolean save(IsfdDatabaseModelingTemplateBo bo);

    /**
     * 校验并删除数据库模型模版管理
     *
     * @param id      待删除的主键
     * @param isValid 是否进行有效性校验
     * @return 是否删除成功
     */
    Boolean deleteWithValidById(Long id, Boolean isValid);

    /**
     * 导出数据库建模模版json
     */
    Resource outJson(IsfdDatabaseModelingTemplateVo isfdDatabaseModelingTemplateVo);

//    /**
//     * 导入数据库建模模版excel
//     */
//    Integer importExcelToMongo(MultipartFile file, String templateId);
}

